Skip to content

feat: add selected process detail strip - #196

Merged
csfh merged 6 commits into
mainfrom
feature/selected-process-detail-strip
Jun 9, 2026
Merged

feat: add selected process detail strip#196
csfh merged 6 commits into
mainfrom
feature/selected-process-detail-strip

Conversation

@csfh

@csfh csfh commented Jun 9, 2026

Copy link
Copy Markdown
Member

Closes #185
Closes #186
Closes #187
Closes #188
Closes #189

Summary

  • Adds a compact selected Process strip above Process Output.
  • Shows canonical Process State plus Pid, Cpu, Mem, Up, Ext, and Rst details.
  • Adds a process-tree metrics sampler with controlled tests.
  • Keeps the strip live across focus/overlay modes and tears down sampling with the Workspace.

Tests

  • bun run lint
  • bun run typecheck
  • bun run test
  • bun run format:check

Self-reviewed diff for scope, secrets, debug logs, and acceptance criteria.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1e38eacf76

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/ui.ts
if (externalPanel) {
sideColumn.add(externalPanel);
}
outputColumn.add(servicePanel);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Hide the process strip when logs are hidden

When the user toggles the logs panel off (or it is hidden because there is not enough width), applyLayout only updates logPanel.visible, while this newly added servicePanel remains visible inside outputColumn. That leaves a Process strip rendered even though getRenderedPanels() no longer includes logs, so the UI can show and allocate space for an output-related panel that focus/shortcuts report as hidden.

Useful? React with 👍 / 👎.

Comment thread src/process-metrics.ts Outdated
return { pid, cpuPercent: null, rssBytes: snapshot.rssBytes, sampledAt: snapshot.sampledAt };
}

const cpuTicks = Math.max(0, snapshot.totalCpuTicks - previous.totalCpuTicks);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Track CPU deltas per process instead of aggregating totals

For process trees with short-lived child processes, subtracting only the aggregate tree CPU total undercounts or zeroes CPU after a child exits between samples: the previous snapshot includes the exited child's lifetime ticks, but the next snapshot does not, so Math.max(0, currentTotal - previousTotal) can discard CPU used by the still-running root and remaining children. This makes the displayed Cpu value misleading for services that spawn workers or one-shot subprocesses.

Useful? React with 👍 / 👎.

@csfh

csfh commented Jun 9, 2026

Copy link
Copy Markdown
Member Author

Addressed Codex feedback: the Process strip now hides with the Logs panel, and CPU deltas are calculated per surviving process with regression coverage for exited children. CI is green.

1 similar comment
@csfh

csfh commented Jun 9, 2026

Copy link
Copy Markdown
Member Author

Addressed Codex feedback: the Process strip now hides with the Logs panel, and CPU deltas are calculated per surviving process with regression coverage for exited children. CI is green.

Base automatically changed from feature/manifest-process-state-grammar to main June 9, 2026 13:55
@csfh
csfh merged commit 5fdaa56 into main Jun 9, 2026
6 checks passed
@csfh
csfh deleted the feature/selected-process-detail-strip branch June 9, 2026 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant